import request from '@/utils/request'

/**
 * 获取用户会话列表
 * @returns {Promise} 返回包含用户会话列表的Promise
 */
export function getUserSessions() {
  return request({
    url: '/api/sessions',
    method: 'get',
  })
}

/**
 * 获取指定会话的消息
 * @param {string} sessionId 会话ID
 * @returns {Promise} 返回包含会话消息的Promise
 */
export function getSessionMessages(sessionId) {
  return request({
    url: `/api/sessions/${sessionId}/messages`,
    method: 'get',
  })
}

/**
 * 创建新会话
 * @param {Object} data 会话数据
 * @returns {Promise} 返回包含新会话信息的Promise
 */
export function createSession(data) {
  return request({
    url: '/api/sessions',
    method: 'post',
    data,
  })
}

/**
 * 发送消息
 * @param {string} sessionId 会话ID
 * @param {Object} data 消息数据
 * @returns {Promise} 返回包含发送结果的Promise
 */
export function sendMessage(sessionId, data) {
  return request({
    url: `/api/sessions/${sessionId}/messages`,
    method: 'post',
    data,
  })
}

/**
 * 删除会话
 * @param {string} sessionId 会话ID
 * @returns {Promise} 返回包含删除结果的Promise
 */
export function deleteUserSession(sessionId) {
  return request({
    url: `/api/sessions/${sessionId}`,
    method: 'delete',
  })
}

/**
 * 重命名会话
 * @param {string} sessionId 会话ID
 * @param {string} title 新标题
 * @returns {Promise} 返回包含重命名结果的Promise
 */
export function renameSession(sessionId, title) {
  return request({
    url: `/api/sessions/${sessionId}`,
    method: 'patch',
    data: { title },
  })
}
